package org.infoset.xml;

import java.util.*;
import java.net.*;

/**
 * This interface represents a node that is a parent.
 * @author <a href="mailto:alex@milowski.com">R. Alexander Milowski</a>
 */
public interface Parent extends List<Child>,Child {

   
  /**
    * Returns the base URI of the document.
    */
   URI getBaseURI();

   void setBaseURI(URI base);

   /**
    * Sets the base URI
    * @param base The base URI
    * @param inherited A value of true means the value is inherited from the origin
    */
   void setBaseURI(URI base,boolean inherited);
   
   boolean isBaseURIInherited();
   
   /**
    * Returns the children by infoset item type
    * @param type The type to return
    * @return An interator containing the type.
    */
   Iterator<Child> getChildrenByType(ItemType type);
}
